Invokes the specified
static
(
Shared
in Visual Basic) method for execution on the server.
Syntax
Parameters
- serverMethod
- Method to be invoked
- args
- Arguments to be passed to method
Exceptions
Example
C# | Copy Code |
---|
// Sample showing invocation of server method
EntityManager mgr = new DomainModelEntityManager();
int orderId = 10250;
bool mailSent = (bool) mgr.InvokeServerMethod(Order.EmailOrderInfo, orderId);
// sample method defined in Order class
public class Order {
//...
// ServerMethodDelegate method, called from client
[AllowRpc]
public static Object EmailOrderInfo(IPrincipal pPrincipal, EntityManager pPm, params Object[] pArgs) {
int orderId = Convert.ToInt32(pArgs[0]);
// build and send an email message
string from = "sales@mycompany.com";
string to = "customer@yourcompany.com";
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(from, to);
msg.Subject = "Order Information";
msg.Body = string.Format("Order id = {0} has been shipped", orderId);
System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient("localhost");
try {
mailClient.Send(msg);
} catch (Exception e) {
TraceFns.WriteLine(e.Message);
return false;
}
return true;
}
} |
Visual Basic | Copy Code |
---|
' Sample showing invocation of server method
Dim mgr As EntityManager As New DomainModelEntityManager()
Dim orderId As Integer = 10250
Dim mailSent As Boolean = CBool(mgr.InvokeServerMethod(Order.EmailOrderInfo, orderId))
' sample method defined in Order class
Public Class Order
'...
Public Shared<AllowRpc()> _
Function EmailOrderInfo(pPrincipal As IPrincipal, pManager As EntityManager, ParamArray pArgs() As [Object]) As [Object]
Dim orderId As Integer = Convert.ToInt32(pArgs(0))
' build and send an email message
Dim from As String = "sales@mycompany.com"
Dim [to] As String = "customer@yourcompany.com"
Dim msg As New System.Net.Mail.MailMessage(from, [to])
msg.Subject = "Order Information"
msg.Body = String.Format("Order id = {0} has been shipped", orderId)
Dim client As New System.Net.Mail.SmtpClient("localhost")
Try
client.Send(msg)
Catch e As Exception
TraceFns.WriteLine(e.Message)
Return False
End Try
Return True
End Function
End Class |
Remarks
Requirements
Target Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Windows Vista, Windows Server 2008 family
See Also